CC = gcc
CFLAGS = -g -Wall

PROGRAMS = tcpServer tcpClient dataHandler interfaceUser tcpClientTests

all: $(PROGRAMS)
	
DebugUtils.o: DebugUtils.h DebugUtils.c
DataHandler.o: DataHandler.h DataHandler.c
InterfaceUser.o: InterfaceUser.h InterfaceUser.c
TCPFarfetchServer.o: TCPFarfetchServer.h TCPFarfetchServer.c
TCPFarfetchClient.o: TCPFarfetchClient.h TCPFarfetchClient.c


DataHandler: DebugUtils.o DataHandler.c
	$(CC) -o dataHandler DebugUtils.o DataHandler.c
	

TCPServer: DebugUtils.o DataHandler.o TCPFarfetchServer.c
	$(CC) -o tcpServer DebugUtils.o DataHandler.o TCPFarfetchServer.c
	./tcpServer
	

TCPClient: 
	$(CC) -o tcpClient InterfaceUser.c
	./tcpClient


TCPClientTests: 
	$(CC) -o tcpClientTests TCPFarfetchClientTests.c

clean:
	rm -f *.o *~ $(PROGRAMS)